const staff = require('../../utils/user');
const request = require('../../utils/request.js'); 
Page({
  data: {
    doorList: null,
    // [
    //   { id: 1, unit: '1单元', inOut: 0, online: true, loading: false },
    //   { id: 2, unit: '2单元', inOut: 1, online: true, loading: false },
    //   { id: 3, unit: '3单元', inOut: 0, online: false, loading: false },
    //   { id: 4, unit: '4单元', inOut: 1, online: true, loading: false },
    //   { id: 5, unit: '5单元', inOut: 0, online: true, loading: false },
    //   { id: 6, unit: '6单元', inOut: 1, online: true, loading: false },
    // ],
    openSuccessIndex: -1, // 记录成功开门的索引
    openFailIndex: -1,    // 记录失败的索引
    staffId:null
  },
  onBack(){
    wx.switchTab({
      url: '/pages/fuwu/fuwu',
    })
  },

  // 点击开门按钮
  handleDoorClick(e) {
    const index = e.currentTarget.dataset.index;
    const door = this.data.doorList[index];
    console.log("---------")
    console.log(door.deviceStatus)
    // 离线状态不可操作
    if (door.deviceStatus===0) {
      wx.showToast({
        title: '设备离线，无法操作',
        icon: 'none',
        duration: 2000
      });
      return;
    }
    
    // 更新按钮状态为加载中
    this.setData({
      [`doorList[${index}].loading`]: true,
      openSuccessIndex: -1,
      openFailIndex: -1
    });
    
    // 模拟API请求（2秒后返回结果）
    setTimeout(() => {
      // 模拟30%概率失败
      const isSuccess = Math.random() > 0.3;
      
      if (isSuccess) {
        // 开门成功逻辑
        this.setData({
          [`doorList[${index}].loading`]: false,
          openSuccessIndex: index
        });
        
        wx.showToast({
          title: '开门成功',
          icon: 'success',
          duration: 2000
        });
        
        // 模拟门打开后自动关闭（5秒后恢复）
        setTimeout(() => {
          this.setData({
            openSuccessIndex: -1
          });
        }, 5000);
        
      } else {
        // 开门失败逻辑
        this.setData({
          [`doorList[${index}].loading`]: false,
          openFailIndex: index
        });
        
        wx.showToast({
          title: '开门失败，请重试',
          icon: 'none',
          duration: 2000
        });
      }
    }, 2000);
  },

  // 切换出入状态（示例：演示数据更新逻辑）
  toggleInOutStatus(e) {
    const index = e.currentTarget.dataset.index;
    this.setData({
      [`doorList[${index}].inOut`]: this.data.doorList[index].inOut === 1 ? 0 : 1
    });
  },

  // 页面加载
  onLoad() {
    // 可在此处调用真实API获取门列表数据
    // this.fetchDoorList();
  },

  // 模拟API请求获取门列表（实际项目中替换为真实接口）
  fetchDoorList() {
    // wx.request({
    //   url: 'https://api.example.com/doors',
    //   success: (res) => {
    //     this.setData({ doorList: res.data });
    //   }
    // });
  },

  getUserInfo:function() {
    const that = this;
    const userId = this.data.staffId;
    // 拼接接口路径，替换{userId}为实际的用户ID
    const url = `/dookmanager/sys_user1/${userId}`; 
    request.get(url)
     .then(res => {
        // 请求成功，res为接口返回的数据
        console.log('获取用户信息成功', res);
        that.setData({
          doorList: res.data.accessControlDeviceLxyList1 // 假设接口返回的数据结构中，data字段是用户信息，根据实际情况调整
        });
      })
     .catch(err => {
        // 请求失败，err为错误信息
        console.error('获取用户信息失败', err);
        wx.showToast({
          title: '获取用户信息失败',
          icon: 'none'
        });
      });
  },

  onShow(){
    staff.getUserProfile().then(res=>{
      //  console.log(res)
      this.setData({
        staffId:res.data.userId
      })
      console.log("******")
      console.log(this.data.staffId)
      this.getUserInfo()
    });
  },
  
});